The process of providing a page, such as a web page, over a network can be regarded as having at least two distinct stages. In a first stage, which may be referred to as “design time,” a designer specifies the layout and contents of the page and additionally may determine the interactive flow of a set of linked pages. In a subsequent stage, which may be referred to as “request time,” a server provides the page over a network in response to a request from an end user, in accordance with a network protocol such as Hypertext Transfer Protocol (HTTP). Often, especially in the case of relatively complex and interactive web pages, the page is provided by evaluation of a server-side script or similar program to produce all or part of the page dynamically, such as a script written in PHP Hypertext Preprocessor (PHP). During both stages, users (page designers and end users) typically operate browser applications or the like to view the page. A page provided for display may be encoded as a document written in Hypertext Markup Language (HTML) or another page formatting or page description language, such as, for example, Wireless Markup Language (WML). At design time, the page designer may view a current version of the page that is in the process of being designed.
These two stages typically have very different usage patterns and scalability requirements. At design time, a relatively small number of page designers may be actively editing, previewing, testing, and revising the content of pages being developed for a site. It is generally desirable for such pages to be displayed to the designers in a manner that facilitates multiple iterations of experimentation and revision. The page design process may itself take place across a network; for example, possibly thousands of different designers of online store sites may interact with a provider that enables design of online store websites for hosting by the provider.
Request time, by contrast, may involve millions of network users viewing pages served by a limited number of servers over varying network traffic conditions. At request time it is important for pages to be displayed within acceptable time limits, particularly in the case of commercial sites where the end users are customers shopping over the network. For typical dynamically-generated web pages, response time is dependent in part on how efficiently a complex page can be assembled.